User interface for viewing items in a synchronization system

ABSTRACT

In a synchronization system, the present invention provides an improved user interface through which a user can view and manage settings associated with the user&#39;s account in the synchronization system. In the preferred embodiment, a column is displayed for each electronic device associated with the user&#39;s account in the synchronization system. In each column is a visual representation of items (e.g., folders) that are (1) backed up, remotely accessible and/or synchronized in the synchronization system and (2) located on the electronic device associated with such column. For each item that is synchronized across multiple devices, all the visual representations of such item in the columns are aligned across a single row in the interface. In the preferred embodiment, there is an arrow, or other visual indicator, between the visual representations of such items to indicate that the items are synchronized.

CROSS REFERENCE TO OTHER APPLICATIONS

This present application is a continuation of U.S. patent applicationSer. No. 14/871,967, filed Sep. 30, 2015, which is a continuation ofU.S. patent application Ser. No. 14/175,256, filed Feb. 7, 2014, nowissued as U.S. Pat. No. 9,654,348, which is a continuation of U.S.patent application Ser. No. 12/799,832, filed May 3, 2010, now issued asU.S. Pat. No. 8,650,498, which claims priority to U.S. ProvisionalPatent Application 61/215,396, filed May 4, 2009. Each of theaforementioned patents and applications are hereby incorporated byreference in their entirety.

BACKGROUND OF THE INVENTION 1. Field of the Invention

This invention relates generally to synchronization/back-up serversystems, and, more specifically, to a user interface for managing andviewing synchronization settings in a synchronization system.

2. Description of the Background Art

Synchronization systems enable users to back up, remotely access, share,and/or synchronize files and data objects. Files and data objects can bebacked up to a central synchronization server or other device, such as aNetwork Accessed Storage (NAS) device. Files and data objects can alsobe synchronized across multiple electronic devices, such as, forexample, a user's work computer, home computer, and mobile phone. Anexample of a synchronization system that enables users to remotelyaccess, share, back up and synchronize files is Sharpcast, Inc.'sSUGARSYNC system.

In known synchronization systems, there is a usually a clientapplication on each electronic device on which files are accessed orsynchronized by the synchronization system. Such client applicationprovides a user interface through which user can configure back up,remote access, share, and synchronization settings for files/dataobjects located on the local device on which the client applicationresides. Known client applications provide a primarily textualdescription or listing of the settings for the user's account in thesynchronization system. As the number of electronic devices associatedwith a user's account in the synchronization system increases, it can bedifficult for a user to see and track all the synchronization settingswhen they are in text form. Consequently, there is a need for animproved user interface through which a user can view and managesettings in the synchronization system.

SUMMARY OF THE INVENTION

The present invention provides an improved user interface through whicha user can view and manage settings associated with the user's accountin the synchronization system. In the preferred embodiment, the userinterface has a column for each electronic device (e.g., computer, NAS,set-top box, mobile phone, digital picture frame, personal digitalassistant (PDA), etc.) associated with the user's account in thesynchronization system. Displayed within each column are visualrepresentations of items on the corresponding device that have beenadded to the user's account. Item's “added” to a user's account areitems which are backed up, remotely accessible, shared, or synchronizedin the synchronization system.

For items in the user's account that are synchronized with each otheracross two or more electronic devices, all the visual representations ofsuch items in the applicable columns are horizontally aligned in theinterface. In the preferred embodiment, the user interface displays anarrow, line, or other visual indicator of synchronization, between twoitems synchronized with each other across devices.

Also, in the preferred embodiment, the user interface is horizontallydivided into two sections—one for items that are synchronized acrossmultiple devices and one for items that have been added to the user'saccount (for remote access, sharing, or back up purposes) but are notsynchronized across multiple devices. In other words, in suchembodiment, each column associated with an electronic device has twosections, one showing the items on that device that are synchronizedacross one or more other devices, and one showing items on that devicethat have been added to the user's account for remote access or back up.

In a further embodiment of the invention, the user interface enables theuser to perform functions related to his account in the synchronizationsystem. For example, the user can add an item to his account from alocal device, remove an item on the local device from his account, andsynchronize a remote item with an item on the local device.

Those skilled in the art will appreciate that instead of creating acolumn for each electronic device in the user interface, a row could becreated for each electronic device, and synchronized items can bealigned along a vertical column in the user interface.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart that illustrates a method for displaying settingsfor a user's account in a synchronization system.

FIG. 2 illustrates the devices associated with a user's account in anexample scenario.

FIGS. 3, 4, 5, 6 a-6 e are screen shots that illustrate examples of auser interface for displaying settings for a user's account in asynchronization system.

FIG. 7 is a flowchart, according to one embodiment of the invention,that illustrates a dialog flow when the user synchronizes a remotefolder to a local device.

FIG. 8 is a block diagram of an example software architecture of aclient UI application according to one embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 illustrates a method for displaying settings for a user's accountin a synchronization system. In one embodiment, the method isimplemented by a client application that runs on an electronic deviceand that generates a user interface through which a user can selectitems on the electronic device for back up, remote access, sharing, orsynchronization in the synchronization system (the “client UIapplication”).

In generating the user interface, the client UI application displays acolumn for each of the electronic devices associated with the user'saccount in the synchronization system (step 110). In each columnassociated with an electronic device, the client UI application displaysa visual representation of items on such electronic device that havebeen added to the user's account in the synchronization system (step120). An item has been added to the user's account, when the userdesignates the items for back up, remote access, sharing, orsynchronization using the synchronization system.

For items in the user's account that are synchronized with each otheracross two or more electronic devices, all the visual representations ofsuch items in the applicable columns are horizontally aligned in theinterface (step 130). In the preferred embodiment, the client UIapplication inserts an arrow, line, or other visual indicator ofsynchronization, between two items synchronized with each other acrossdevices (step 140).

In an alternate embodiment, the client UI application displays ahorizontal row, instead of a vertical column, for each of the electronicdevices associated with the user's account in the synchronizationsystem. In such embodiment, items that are synchronized across multipleuser devices are aligned vertically (along a column) instead ofhorizontally.

“Items” as user herein can include any folder, file, directory, or dataobject on an electronic device. In the preferred embodiment, items aredirectory “folders” that can include documents, photos, music files, andvideo files. Electronic devices include, but are not limited to,computers, mobile phones, personal digital assistants (PDA),network-accessed storage devices, digital picture frames, televisionswith storing and computing capability, and set-top boxes.

An example of a user interface generated by the client UI application inaccordance with the present invention is illustrated in FIG. 3, withreference to FIG. 2. FIG. 2 illustrates an example scenario in which auser has associated electronic devices 220-250 with this user's accountin a synchronization system 200. The system 200 includes a centralsynchronization server 210 to which items can be backed up. Thesynchronization server also can facilitate the synchronization of itemsamong the electronic devices 220-250. In this example, the user hasnamed the electronic devices 220-250 associated with his account“MacPro” (220), “InspironXP” (230), “My Laptop” (240), and “DomingoDell” (250). Each of the devices 220-250 has a client UI applicationthat provides a user interface in accordance with the method of FIG. 1.

In FIG. 3, the “MacPro” is identified as “This Computer” (i.e., thelocal computer), and, thus, this interface is generated by the client UIapplication on the MacPro computer 220. Each of user devices 220-250 isassociated with its own column 320-350, respectively. In one embodimentof the invention, the local computer (in this case MacPro computer 220)is always assigned to a particular column. In this example (as well asthe example of FIG. 4), the local computer is always associated with theleft-most column.

Each column 320-350 has a visual representation of the folders that havebeen added to the user's account on each of devices 220-250. Forexample, column 320 illustrates that the user has added folders titled“My Documents,” “Newsletters,” “and “Travel” on the MacPro computer 220to the user's account, and column 330 illustrates that the user hasadded folders titled “My Documents” and “Movies” on the InspironXP 230to the user's account.

The arrows between visual representations of the “My Document” foldersin columns 320 and 330 indicate that these folders are synchronizedbetween the MacPro 220 and InspironXP 230. Similarly, the arrows betweenthe visual representations of the “Newsletters” folders in columns 320,330, and 350 indicate that these folders are synchronized across MacPro220, My Laptop 240, and Domingo's Dell 250.

The folders that are not synchronized across multiple user devices donot have any arrows connecting them to any other folders. In thisexample, visual representations of such folders in a column indicatesuch folders are backed up by the synchronizations system and/oravailable for remote access through the synchronization. For example,the visual representation 315 of the “Travel” folder on the MacPro 220indicates that the “Travel” folder is backed up and/or available forremote access in the synchronizations system. A folder that is back-upon the central synchronization server 210 is synchronized with thecentral synchronization server 210.

FIG. 4 illustrate another example of a user interface generated by aclient UI application in accordance with the method of FIG. 1. Like theexample in FIG. 3, each of the user's devices is associated with acolumn in the user interface. However, in addition, the user interfaceis divided horizontally into two sections 470 and 480. In the topsection 470, the client UI application illustrates folders that aresynchronized across two or more client devices. In the bottom section480, the client application illustrates folders that are backed upand/or available for remote access or sharing, but not synchronizedacross multiple devices.

In one embodiment, the user interface generated by the client UIapplication includes a section that displays information related to afolder selected in the interface. In FIG. 3, “Folder Properties” section370 displays the name, status, directory path, and size of thecurrently-selected folder.

In one embodiment, the client UI application enables the user to add orremove folders (or, if applicable, other items) from the local device onwhich the client application is running. For example, in FIG. 4, button412 enables the user to add folders from the user device “My Laptop” tothe user's account. As another example, FIG. 5 illustrates a “remove”button 514 that appears when a user selects a folder in the columnassociated with the local device.

When a user adds a folder to his account, the user has the option ofexcluding subfolders from the folder. FIG. 5 illustrates an example ofthis. In the Folder Properties section 570, a user can select the “edit”link 575 to identify the folders he wants to exclude from a folder. Inthis embodiment, the edit link 575 appears in the Folder Propertysection 570 when the user selects a folder in the “This Computer” column520.

The client UI application also enables the user to synchronize folderfrom a remote device to the local device on which the UI application isrunning. A folder on a remote device is referred to herein as a “remotefolder.” FIGS. 6 and 7 illustrate an example dialog flow in the userinterface when a user synchronizes a remote folder to the local deviceon which the client UI application is running.

When the user selects a remote folder (or, more specifically, a visualrepresentation of the remote folder) in the user interface, the clientapplication displays a sync option, such as sync button 616 illustratedin FIG. 6 (step 710). If the user chooses the sync option, the user isprompted to pick a destination for the selected folder on the localdevice (see, for example, the dialog box in FIG. 6b ) (step 720). Theuser can choose a new folder or an existing folder on the local device.

If the user chooses a new folder on the local device, all the componentsof the selected remote folder will be copied to the new folder on thelocal device (step 730). Thereafter, the two folders will beautomatically kept in sync. The new folder is added the columnassociated with the local device (740). If the user chooses an existingfolder on the local device, the contents of such existing folder and theselected remote folder will be merged, and, thereafter, automaticallykept in sync (step 750). The existing folder is added to the columnassociated with the local device (step 760).

In FIG. 6a , the user has selected the remote folder “PDF Books” in the“My Desktop” column 630 and sync button 616 is displayed. When the userclicks on the Sync button 616, the dialog box in FIG. 6b appears. Inthis case, the default destination shown in the dialog box is a newfolder “PDF Books” on the “Netbook” device (the local device), but theuser can select button 618 to choose another destination (i.e., anotherfolder on the Netbook device). The user clicks “OK” to select thedefault destination, and the folder “PDF books” appears in column 620,as shown in FIG. 6c . The arrow between the folders “PDF Books” incolumns 620 and 630 indicates these folders are synced. A user can stopsyncing the PDF Books folder to the “Netbook” device by selecting thefolder “PDF Books” in column 620 and clicking on the “Remove” button625.

FIGS. 6d and 6e illustrate a continuation of the foregoing scenario. Inthis case the user has added the device “MyMac” to the user's accountand is using the client UI application on the “MyMac” device. In FIG. 6d, the user interface illustrates that the folders “My Project” aresynced between the user devices “MyDesktop” and “Netbook.” By selectingthe “My Projects” folder in either the “MyDesktop” column or the“Netbook” column and then click the sync button (e.g., button 622), theuser also can sync this folder to the local computer “MyMac.” FIG. 6eillustrates the resulting user interface after the user has done this.

In the embodiment described with respect to FIG. 3-7, the user can onlyadd or remove local folders. In other words, to add a folder from adevice to his account, the user must do so with the Client UIapplication on the device on which the folder resides. In an alternateembodiment of the invention, the user is able to remotely add and removefolders from his account through the user interface.

FIG. 8 illustrates one embodiment of a software architecture for theclient UI application 800. The architecture illustrated in FIG. 8 is anexample and not intended to be limiting of the invention.

Referring to FIG. 8, the client UI application 800 includes a FileSystem Sync Module 830 which monitors a Datastore 810 on an electronicdevice for changes. The Datastore 810 includes the items that the userhas added to his account in the synchronization system (e.g., thefolders the user is backing up or synchronizing). When the electronicdevice is online the Sync Manager 825 maintains a dedicated connectionwith a sync server in the synchronization system (such as centralsynchronization server 210 in FIG. 2). The Sync Manager 825 notifies thesync server of any changes to the Datastore 810. Also, the Sync Manager825 receives notice of changes on the user's other electronic devices ifsuch changes are relevant to the local client device (e.g., the changesare to a remote folder that is synchronized with a folder on the localclient device.). In accordance with the methods described herein, the UImodule 820 generates a user interface through which a user can view andmanage settings in his account in the synchronization system. The SyncManager 825 provides the UI module 820 with the information about theuser's account that the UI module 820 displays in the user interface(e.g., the electronic devices associated with the user's account, theitems added to the user's account, etc.). When a user makes a change tohis account through the user interface, the UI module 820 notices theSync Manager 825 so that the Sync Manager 825 can notify the centralsync server and the File System Sync module 830 as necessary.

The methods for generating a user interface described herein are notlimited to client UI applications on the user's electronic devices. Thecentral synchronization server may also have a UI application thatgenerates a user interface that a user can access through a web browser.Such server UI application can generate a user interface in accordancewith FIG. 1 and the other features described herein.

Systems and methods for backing up data, synchronizing data, sharingdata, and/or providing remote access to data are described in detail inthe below-listed patent application, all of which are incorporated byreference herein as if fully disclosed herein:

1. U.S. patent application Ser. No. 12/157,772, titled “Method andApparatus for File Sharing and Synchronization System,” and filed onJun. 13, 2008.

2. U.S. patent application Ser. No. 11/636,458, titled “EfficientSynchronization of Changes to Images,” and filed on Dec. 8, 2006.

3. U.S. patent application Ser. No. 12/383,387, titled “OpportunisticPeer-to-Peer Synchronization in a Synchronization System,” and filed onMar. 24, 2009.

4. U.S. patent application Ser. No. 12/383,693, titled “System andMethod for Multi-Tier Synchronization,” and filed on Mar. 26, 2009.

As will be understood by those familiar with the art, the invention maybe embodied in other specific forms without departing from the spirit oressential characteristics thereof. Accordingly, the above disclosure ofthe present invention is intended to be illustrative and not limiting ofthe invention.

What is claimed is:
 1. A method, comprising: providing, for presentationon a client device, a graphical user interface comprising a listing ofitems associated with a user account of a synchronization system;providing, within the graphical user interface, a selectable graphicalelement associated with an item from the listing of items; based ondetecting a user selection of the selectable graphical elementassociated with the item, synchronizing the item between thesynchronization system and the client device by storing a synchronizedcopy of the item on the client device; in response to synchronizing theitem, providing a first visual indication for display within thegraphical user interface that indicates the item is synchronized betweenthe synchronization system and the client device; and providing a secondvisual indication for display within the graphical user interface thatindicates an additional item from the listing of items is notsynchronized between the synchronization system and the client device.2. The method of claim 1, wherein the item from the listing of items isa folder comprising a plurality of subfolders, the method furthercomprising providing, within the graphical user interface, a selectableoption to exclude a subfolder of the plurality of subfolders fromsynchronizing between the synchronization system and the client device.3. The method of claim 2, further comprising unsyncing the subfolder ofthe plurality of subfolders based on detecting a user selection of theselectable option to exclude the subfolder from synchronizing betweenthe synchronization system and the client device.
 4. The method of claim3, wherein at least one other subfolder of the plurality of subfoldersremains synchronized between the synchronization system and the clientdevice while the subfolder is excluded from synchronization.
 5. Themethod of claim 3, further comprising removing the subfolder fromstorage of the client device in response to detecting the user selectionof the selectable option to exclude the subfolder from synchronizingbetween the synchronization system and the client device.
 6. The methodof claim 3, further comprising providing, for display within thegraphical user interface, a third visual indication that the subfolderis excluded from synchronizing between the synchronization system andthe client device.
 7. The method of claim 1, wherein a clientapplication installed on the client device provides the graphical userinterface and manages synchronization between the client device and thesynchronization system based on user input corresponding to one or moreitems of the listing of items received via the graphical user interface.8. The method of claim 1, further comprising providing, within thegraphical user interface, a selectable unsync option associated with theitem.
 9. The method of claim 8, further comprising: based on detecting auser selection of the selectable unsync option associated with the item:unsyncing the item from the client device; removing the item fromstorage of the client device; and updating the first visual indicationassociated with item to indicate that the item is not synchronizedbetween the client device and the synchronization system.
 10. A system,comprising: at least one processor; and a non-transitory computerreadable storage medium comprising instructions that, when executed bythe at least one processor, cause the system to: provide, forpresentation on a client device, a graphical user interface comprising alisting of items associated with a user account of a synchronizationsystem; provide, within the graphical user interface, a selectablegraphical element associated with an item from the listing of items;based on detecting a user selection of the selectable graphical elementassociated with the item, synchronize the item between thesynchronization system and the client device by storing a synchronizedcopy of the item on the client device; in response to synchronizing theitem, provide a first visual indication for display within the graphicaluser interface that indicates the item is synchronized between thesynchronization system and the client device; and provide a secondvisual indication for display within the graphical user interface thatindicates an additional item from the listing of items is notsynchronized between the synchronization system and the client device.11. The system of claim 10, further comprising instructions that, whenexecuted by the at least one processor, cause the system to provide,within the graphical user interface, a selectable unsync optionassociated with the item.
 12. The system of claim 11, further comprisinginstructions that, when executed by the at least one processor, causethe system to unsync the item from the client device based on detectinga user selection of the selectable unsync option associated with theitem.
 13. The system of claim 12, wherein unsyncing the item from theclient device comprises: removing the item from storage of the clientdevice; and updating the first visual indication associated with item toindicate that the item is not synchronized between the client device andthe synchronization system.
 14. The system of claim 10, wherein a clientapplication installed on the client device provides the graphical userinterface and manages synchronization between the client device and thesynchronization system based on user input corresponding to one or moreitems of the listing of items received via the graphical user interface.15. The system of claim 10, wherein the item from the listing of itemsis a folder comprising a plurality of subfolders, the system furthercomprising instructions that, when executed by the at least oneprocessor, cause the system to: provide, within the graphical userinterface, a selectable option to exclude a subfolder of the pluralityof subfolders from synchronizing between the synchronization system andthe client device; and unsyncing the subfolder of the plurality ofsubfolders based on detecting a user selection of the selectable optionto exclude the subfolder from synchronizing between the synchronizationsystem and the client device.
 16. A non-transitory computer readablestorage medium comprising instructions that, when executed by at leastone processor, cause a computer device to: provide, for presentation ona client device, a graphical user interface comprising a listing ofitems associated with a user account of a synchronization system;provide, within the graphical user interface, a selectable graphicalelement associated with an item from the listing of items; based ondetecting a user selection of the selectable graphical elementassociated with the item, synchronize the item between thesynchronization system and the client device by storing a synchronizedcopy of the item on the client device; in response to synchronizing theitem, provide a first visual indication for display within the graphicaluser interface that indicates the item is synchronized between thesynchronization system and the client device; and provide a secondvisual indication for display within the graphical user interface thatindicates an additional item from the listing of items is notsynchronized between the synchronization system and the client device.17. The non-transitory computer readable storage medium of claim 16,further comprising instructions that, when executed by the at least oneprocessor, cause the computer device to provide, within the graphicaluser interface, a selectable unsync option associated with the item. 18.The non-transitory computer readable storage medium of claim 17, furthercomprising instructions that, when executed by the at least oneprocessor, cause the computer device to unsync the item from the clientdevice based on detecting a user selection of the selectable unsyncoption associated with the item.
 19. The non-transitory computerreadable storage medium of claim 18, wherein unsyncing the item from theclient device comprises: removing the item from storage of the clientdevice; and updating the first visual indication associated with item toindicate that the item is not synchronized between the client device andthe synchronization system.
 20. The non-transitory computer readablestorage medium of claim 16, wherein the item from the listing of itemsis a folder comprising a plurality of subfolders, and further comprisinginstructions that when executed by the at least one processor cause thecomputer device to: provide, within the graphical user interface, aselectable option to exclude a subfolder of the plurality of subfoldersfrom synchronizing between the synchronization system and the clientdevice; and unsyncing the subfolder of the plurality of subfolders basedon detecting a user selection of the selectable option to exclude thesubfolder from synchronizing between the synchronization system and theclient device.